package interfaces;

import java.awt.Point;

public interface ICapteur {
	/**
	 * tic incrementant la valeur stocke
	 */
	public void tick();
	/**
	 * 
	 * @return la valeur stockee, point.x=valeur, point.y= numero de version si strategie epoque, 0 sinon.
	 */
	public Point getValue();
	/**
	 * ajoute un canal a la liste des observers
	 * @param canal a ajouter
	 */
	public void add(ICanal canal);
	/**
	 * enleve un canal de la liste des observers
	 * @param canal a enlever
	 */
	public void remove(ICanal canal);
	/**
	 * retourne le nombre de canaux observant la valeur
	 * @return
	 */
	public int getNbCanaux();
	/**
	 * notifie tout les canaux d'un changement de la valeur
	 */
	public void updateCanaux();
	/**
	 * modifie le text affiche graphiquement pas un capteur
	 * @param string texte a afficher
	 */
	public void setLabelText(String string);
	/**
	 * afficher du texte dans la partie reserver a la strategie (numero de version)
	 * @param strategy texte a afficher
	 */
	public void setStrategyText(String strategy);
	/**
	 * specifie la strategie utilisee par notre application
	 * @param strategie
	 */
	public void setStrategie(IStrategy strategie);
}
